package net.sxnic.ugr.menu.dao;

import java.util.List;

import net.sxinfo.core.dao.Page;
import net.sxinfo.core.spring25.Dao;
import net.sxnic.ugr.menu.Menu;
 

public interface MenuDao extends Dao<Menu,String> {

	/**
	 * 查询顶级菜单（即所有一级菜单）
	 * 
	 * @return 菜单列表
	 */
	List<Menu> getTopLevel();
	
	/**
	 *  查询所有菜单
	 * @return 所有菜单列表
	 */
	List<Menu> getAllmenus();

	/**
	 * 根据菜单码查询其下一级的所有菜单
	 * 
	 * @param parentMenuCode 菜单码
	 * @return 菜单列表
	 */
	List<Menu> getSubLevel(String parentMenuCode);

	/**
	 * 查询所有的菜单并按照menuOrder、code排序.结果为01,0101,0102,02
	 * 
	 * @return 菜单列表
	 */
	List<Menu> getAllByOrder();

	/**
	 * 查询所有的菜单并按照length(code),menuOrder,code排序。结果为01,02,0101,0102
	 * 
	 * @return 菜单列表
	 */
	List<Menu> getAllByLevel();
	
	/**
	 * 获取顶级部门分类
	 * @return
	 */
	List<Menu> getTopList();

	/**
	 * 获取指定部门的子分类
	 */
	List<Menu> getChildList(String root);
   	
}
